package com.wanjia.bpsapi.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author wyn
 * @since 2023-02-13
 */
@TableName("wj_user")
@Schema(title ="WjUser对象", description = "用户表")
@Data
public class WjUser implements Serializable {

    @Schema(title = "用户id")
    @TableId(type = IdType.INPUT)
    private Integer uid;

    @Schema(title = "用户账号")
    private String account;

    @Schema(title = "用户密码")
    private String pwd;

    @Schema(title = "真实姓名")
    private String realName;

    @Schema(title = "生日")
    private Integer birthday;

    @Schema(title = "身份证号码")
    private String cardId;

    @Schema(title = "用户备注")
    private String mark;

    @Schema(title = "合伙人id")
    private Integer partnerId;

    @Schema(title = "用户分组id")
    private Integer groupId;

    @Schema(title = "用户昵称")
    private String nickname;

    @Schema(title = "用户头像")
    private String avatar;

    @Schema(title = "手机号码")
    private String phone;

    @Schema(title = "添加时间")
    private Integer addTime;

    @Schema(title = "添加ip")
    private String addIp;

    @Schema(title = "最后一次登录时间")
    private Integer lastTime;

    @Schema(title = "最后一次登录ip")
    private String lastIp;

    @Schema(title = "用户余额")
    private BigDecimal nowMoney;

    @Schema(title = "佣金金额")
    private BigDecimal brokeragePrice;

    @Schema(title = "用户剩余积分")
    private Integer integral;

    @Schema(title = "会员经验")
    private BigDecimal exp;

    @Schema(title = "连续签到天数")
    private Integer signNum;

    @Schema(title = "1为正常，0为禁止")
    private Boolean status;

    @Schema(title = "等级")
    private Integer level;

    @Schema(title = "分销等级")
    private Integer agentLevel;

    @Schema(title = "是否有推广资格")
    private Boolean spreadOpen;

    @Schema(title = "推广元id")
    private Integer spreadUid;

    @Schema(title = "推广员关联时间")
    private Integer spreadTime;

    @Schema(title = "用户类型")
    private String userType;

    @Schema(title = "是否为推广员")
    private Integer isPromoter;

    @Schema(title = "用户购买次数")
    private Integer payCount;

    @Schema(title = "下级人数")
    private Integer spreadCount;

    @Schema(title = "清理会员时间")
    private Integer cleanTime;

    @Schema(title = "详细地址")
    private String addres;

    @Schema(title = "管理员编号 ")
    private Integer adminid;

    @Schema(title = "用户登陆类型，h5,wechat,routine")
    private String loginType;

    @Schema(title = "记录临时电话")
    private String recordPhone;

    @Schema(title = "会员来源  0: 购买商品升级   1：花钱购买的会员2: 会员卡领取")
    private Boolean isMoneyLevel;

    @Schema(title = "是否永久性会员  0: 非永久会员  1：永久会员")
    private Boolean isEverLevel;

    @Schema(title = "会员到期时间")
    private Long overdueTime;

    private String uniqid;

    @Schema(title = "经纬度")
    private String location;

    @TableField("quotation_period")
    @Schema(title = "报价周期(天)")
    private Integer quotationPeriod;

}
